home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / CC_C / 0696A.ZIP / GETPNAME.C < prev    next >
Text File  |  1987-05-04  |  844b  |  30 lines

  1. /** 
  2. * getpname-- extract the baser name of a program from the
  3. * pathname string (deletes a drive specifier, any leading
  4. * path node information, and the extension)
  5. **/
  6. #include <stdio.h>
  7. #include <ctype.h>
  8. void getpname(path, pname)
  9. char *path;   /* full or relative pathname */
  10. char *pname;  /* program name pointer */
  11. {
  12.    char *cp;
  13.    /* find the end of the pathname string */
  14.   cp = path;  /* start of the pathname */
  15.   while (*cp != '\0')
  16.      ++cp;
  17.    --cp;   /* one too far ( at 0) */
  18. /* find the start of the filename part */
  19.   while (cp>path && *cp != '\\' && *cp != ':'&& *cp != '/')
  20.     --cp;
  21.   if (cp > path)
  22.   ++cp;  /* move to right of pathname separator */
  23. /* copy the filename part only */
  24.   while ((*pname = tolower(*cp)) != '.' && *pname != '\0') {
  25.     ++cp;
  26.     ++pname;
  27.   }
  28.   *pname = '\0';
  29. }
  30.